The present invention relates to data packet communications, and in particular, to controlling switching between communication channels of different types.
In current and future mobile radio communications systems, a variety of different services either are or will be provided. While mobile radio systems have traditionally provided circuit-switched services, e.g., to support voice calls, packet-switched data services are also becoming increasingly important. Example packet data services include e-mail, file transfers, and information retrieval using the Internet. Because packet data services often utilize system resources in a manner that varies over the course of a data packet session, the flow of packets is often characterized as xe2x80x9cbursty.xe2x80x9d Transmitted packet bursts are interspersed with periods where no packets are transmitted so that the xe2x80x9cdensityxe2x80x9d of packets is high for short time periods and often very low for long periods.
Mobile communications systems must be able to accommodate both circuit-switched services and packet-switched services. But at the same time, the limited radio bandwidth must be used efficiently. Consequently, different types of radio channels may be employed to more efficiently accommodate different types of traffic to be transported across the radio interface.
The Global System for Mobile communications (GSM) is one example of a mobile communications system that offers circuit-switched services via a Mobile Switching Center (MSC) node and packet-switched services via a General Packet Radio Service (GPRS) node. For circuit-switched, guaranteed service, dedicated traffic channels are employed. A radio channel is dedicated (for the life of the mobile connection) to a particular mobile user and delivers frames of information as received without substantial delay. Typically, a dedicated channel provides a high data throughput. For packet-switched, best effort service, common channels are employed where plural mobile users share the common channel at the same time. Typically, a common channel delivers packets of information at a relatively low data throughput. Thus, when the quality of service parameter(s) requested is (are) relatively high, e.g., for a speech or synchronized communication, soft/softer handover, etc., a dedicated, circuit-switched channel is well suited to handle this kind of traffic. When the quality of service requested is relatively low, e.g., for an e-mail message, or if the user only has a small amount of data to transmit, a common, packet-switched channel is well suited to handle this kind of traffic. However, there is no xe2x80x9cswitchingxe2x80x9d between different types of channels in GSM/GPRS. All dedicated traffic is GSM circuit-switched, and all common traffic is GPRS packet-switched.
The selection of the appropriate channel type and channel type switching are prominent features to be included in third generation mobile systems that employ Wideband Code Division Multiple Access (W-CDMA). The third generation wideband CDMA systems must support a variety of circuit-switched and packet-switched services over a wide range of bit rates, e.g., kilobits per second to megabits per second. Two of the most critical radio resources in wideband CDMA needed to support such services are channelization codes and transmission power. Channelization codes are used to reduce interference and to separate information between different users. The more channel capacity required, the more channelization codes that must be allocated. The other critical radio resource is transmission power/interference level. Dedicated channels employ closed loop transmit power control which provides more accurate power assignments resulting in less interference and lower bit error rate. Common channels usually employ open loop power control which is less accurate and not as well suited for transmitting large amounts of data.
There are additional challenges in wideband CDMA systems to offering new and diverse services while at the same time effectively and efficiently distributing the limited system resources. For example, while data traffic is by nature xe2x80x9cbursty,xe2x80x9d as described above, traffic patterns are also affected by the particular transmission protocol employed. For example, the most commonly used transmission protocol on the Internet today is Transmission Control Protocol (TCP). TCP provides reliable, in-order delivery of a stream of bytes and employs a flow control mechanism and a congestion control mechanism. The amount of data delivered for transmission is regulated based on the amount of detected congestion, i.e., packets lost due to overflow in routers caused by traffic greater than the network capacity. To accomplish this regulation, when TCP senses the loss of packets, it reduces the transmission rate by half or more and only slowly increases that rate to gradually raise throughput. Another factor to consider is the use of different Quality of Service (QoS) classes. For example, three different priority classes may be provided to users in a network: low priority would include users with small demands in throughput and delays (e.g., an e-mail user), medium priority users that demand a higher level of throughput (e.g., Web service), and high priority users requiring high throughput with low delays (e.g., voice, video, etc.).
Because of the bursty nature of packet data transmissions, congestion-sensitive transmission protocols, QoS parameters, and other factors, (collectively xe2x80x9cdynamic aspectsxe2x80x9d of packet data transmissions), the channel-type best-suited to efficiently support a user connection often changes during the life of that user connection. At one point, it might be better for the user connection to be supported by a dedicated channel, while at another point it might be better for the user connection to be supported by a common channel. The problem addressed by the present invention is determining if, when, and how often to make a channel-type switch during the course of a particular user connection.
One way of determining when to switch a user connection from a dedicated channel to a common channel is to monitor the amount of data currently being stored in a transmission buffer associated with that user connection. When the amount of data stored in the buffer is less than a certain threshold, that smaller amount of data may not justify the use of a dedicated channel. On the other hand, the decrease in the amount of data to be transmitted for that user may only be temporary, given the dynamic aspects of data transmission, and the amount of data in the buffer may quickly accumulate because of the load on the common channel or increased capacity needs for the connection. As a result, the connection may need to be switched right back to a dedicated channel.
Consider the situation where a user connection is currently assigned a dedicated radio channel having a higher data transmission rate/capacity than the current incoming rate of the user data to be transmitted over that channel. This situation might arise if there is congestion at some part of the Internet, e.g., Internet congestion causes TCP to dramatically reduce its transmission rate as described above. A slower incoming rate may also be the result of a xe2x80x9cweak linkxe2x80x9d in the connection external to the radio network, e.g., a low speed modem. In such situations, the radio transmit buffer is emptied faster than the data to be transmitted arrives. As a result of the slow incoming data rate, which may very well only be temporary, the user connection is switched to a common channel, even though soon thereafter, the user has a large amount of data to transmit. Consequently, shortly after the user connection is transmitted to the common channel, the buffer fills up rapidly due to lower throughput on the common channel, and the user connection is switched right back to a dedicated channel. These conditions may ultimately result in rapid, prolonged switching back and forth between a common channel and a dedicated channel as long as such conditions persist. Such xe2x80x9cping-pongxe2x80x9d effects are undesirable because each channel type switch consumes power of the battery-operated terminal, loses packets during the switch, and requires additional control signaling overhead.
FIG. 1 is a graph simulating a constant 32 kbit/sec incoming data stream to the transmission buffer where the user connection is assigned a dedicated channel with a capacity of 64 kbit/sec. The common channel capacity was simulated at 16 kbit/sec but is illustrated as 0 kbit/sec in FIG. 1. The buffer""s channel switch threshold which triggers a switch from dedicated-to-common channel and from common-to-dedicated channel is set at 1000 bytes. An expiration timer is set to one second. FIG. 1 shows the allocated achieved channel capacity (in kbit/sec) plotted against time under these simulated conditions where the user connection is cyclically switched between a 64 kbps dedicated channel (after about one second) and a common channel (after less than 0.5 seconds).
FIG. 2 shows the buffer amount (in bytes) versus time for this same simulation. The buffer amount is approximately 600 bytes when the user is on the dedicated channel, which is below the threshold of 1,000 bytes. Therefore, the user connection is switched to the common channel as soon as the one second timer expires. But on the common channel, the transmit buffer is filled very quickly by the 32 kbit/sec incoming stream up to about 2000 bytes which, because it exceeds the 1000 byte threshold, results in a rapid channel switch back to the dedicated channel. This kind of rapid channel switch cycling (xe2x80x9cping-pongxe2x80x9d effect) is undesirable, as described earlier, because of the resources necessary to orchestrate each channel-type switch and the time required to set up a dedicated channel.
The present invention solves the above-identified problems. Information associated with a type of communications channel supporting a mobile radio connection between a mobile radio and a radio network is determined over a number of time intervals. The determined information is analyzed for a pattern or trend. A channel-type switching decision is made, i.e., whether to switch the mobile radio connection to a different type of radio channel, based on the analysis. The associated information may include the actual channel type currently supporting the mobile connection during each of the time intervals. Channel types may include, for example, a dedicated type of channel temporarily allocated to support a single mobile radio connection and a common type of radio channel shared by plural mobile radio connections. Alternatively, there may be three or more different types of channels.
One criteria for the channel-type switching decision may be to avoid undesirable channel-type switching such as rapid back-and-forth channel-type switching. In this regard, if the channel type over the number of time intervals differs, it may be decided to maintain the mobile user connection on one type of channel for a predefined number of time intervals to prevent back-and-forth channel-type switching.
The information associated with the type of communications channel supporting a mobile radio connection over a number of time intervals may also include an amount of data to be transmitted over the radio connection. If the data amount for each of the time intervals is below a threshold while the mobile user connection is being supported by a higher capacity channel, a decision may be made to switch the mobile user connection down to a lower capacity type of channel. Alternatively, if the data amount for each of the time intervals is above a threshold while the mobile user connection is being supported by a lower capacity channel, the mobile user connection may be switched up to a higher capacity channel. If a decision is made to switch the mobile radio connection down from the higher capacity channel, the mobile radio connection may first be switched to an intermediate capacity channel before a decision is made to switch the connection down to the lower capacity channel. Similarly, if a decision is made to switch the mobile radio connection up from the lower channel, it may be switched to the intermediate channel before switching to the higher capacity channel. As yet another example alternative, if a decision is made to switch the mobile radio connection down from the higher capacity channel, a switch may be made to the lower capacity channel followed by a switch to the intermediate channel if a switch up decision is subsequently made.
The first number of time intervals may be viewed as a sliding window. In an example, non-limiting embodiment, the sliding window stores both a channel type and a data amount for each time interval in a memory array. Of course, other parameters may be monitored in the sliding window. At the end of the next time interval, data stored in the memory array is shifted so that the channel type and data amount in the last window position are removed and a most recently determined channel type and data amount are stored in the first window position. A second, longer sliding window may also be maintained in a second memory array. Other longer term decisions may be made based on the longer sliding time window such as power regulation, channel-type switching, etc.
The present invention may be implemented in a radio network control node or in a mobile station. In a preferred example embodiment, the invention is implemented in a radio network control node having a memory coupled to data processing circuitry. The data processing circuitry determines over a first number of time intervals information associated with a type of channel supporting a mobile radio connection between a mobile radio and a mobile radio network for each of the time intervals. The determined information is stored in and shifted through the memory as described above. The information in the sliding window is analyzed for a trend or pattern, and the channel-type switching decision is based on that analysis. The radio network control node includes a channel switching mechanism that may be configured for example at a lower communications protocol layer to implement channel-type switching decisions.